/*  删除有序数组中的重复项 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
 *  给你一个有序数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。
 *  不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
 **/
/*部分代码参考评论区或者题解，如有侵权请及时联系删除!*/
package com.chen.Leet;

import java.util.Arrays;

public class Solution {
	/**
	 * 
	 * @param nums 有序的数组
	 * @return 去除重复元素后新的数组的长度
	 */
	public static int removeDuplicates(int[] nums) {
		if (nums.length == 0 || nums.length == 1)
			return nums.length;
		int i = 0;
		for (int j = 0; j < nums.length; j++) {
			if (nums[j] != nums[i]) {
				i++;
				nums[i] = nums[j];

			}
		}
		return i + 1;
	}

	public static void main(String[] args) {
		int nums[] = { 2, 4, 5, 5 };
		int result = removeDuplicates(nums);
		System.out.println(result);

	}

}
